SEPT - OCT 3 1 VOL. 9 NO. 5
TALL AGAIN ISSUE
page 2 Club Stuff
page 3 Editorial & A Few Thoughts
page 4,5 Bob's Notebook - Toolkit Pact 3 (2068)
page 6-10 Printer Interfaces £ Driver Software (2068)
page 10 Mystery Program (ZX81/TS1000 )
page 11 TorQLib - QL Library (QL)
page 12,13 Dayton Computer f est 1991
page 14-16 LKDOS User-Defined Commands (2068)
page 16 Scroll Clear (ZX81/TS1000)
page 17 New PRINT FACTORY Graphics (2068)
page 18,19 GOLD CARD Review (QL)
page 20,21 Bob's Notebook - Toolkit Part 4 (2068)
page 22 Ramblings
page 23-25 Bob's Notebook - Autoboot s Grafix24 (2068)
page 25 Faster Slow Node ( ZX81/TS1000 )
page 26 One Sided Disks Do Not Exist
page 27 Digital Clock Program (2068)
page 28,29 Advertisements
page 30 Overseas Letter (QL)
TORONTO TIMEX-SINCLAIR USERS CLUB
SINC
SINC-L INK IS A PUBLICATION OF
THE TORONTO TIMEX-SINCLAIR USERS
CLUB AND IS ISSUED 6 TIMES A
YEAR. COPIES OF THE NEWSLETTER
ARE $1.50 EACH FOR NON-MEMBERS.
CLUB MEMBERS RECEIVE FREE COPIES
AS PART OF THE $20. 00 ANNUAL
MEMBERSHIP FEE. A NEWSLETTER
SUBSCRIPTION ONLY IS AVAILABLE
FOR $12. 00.
NEWSLETTERS ARE EXCHANGED, FREE
OF CHARGE, WITH OTHER
TIMEX-SINCLAIR USERS GROUPS.
PLEASE CREDIT THIS PUBLICATION
AND THE AUTHOR IF vqu COPY
MATERIAL.
THE CLUB MEETS ON THE FIRST
WEDNESDAY OF EACH MONTH AT
FOREST HILLS COLLEGIATE
INSTITUTE, 7 JO EGLINTON AVE. W. ,
TORONTO.
SINC-L INK IS PRODUCED ENTIRELY
ON SINCLAIR AND TIMEX-SINCLAIR
COMPUTERS.
SEND CCRRESPONDANCE TO:
Attention: SINC-L INK EDITOR
TORONTO TIMEX-SINCLAIR USERS
CLUB, 14 RICHOME COURT,
SCARBOROUGH , ON TAR I O ,
CANADA M1K 2Y1
LINK
SEPT - OCT '3 1
VOL.9 NO. 5
TORONTO TIttEX-SINCLftIR
USERS CLUB
EXECUTIVE OFFICERS :
PRESIDENT
TREASURER
SECRETARY
ACTIVITIES:
TAPE LIBRARIAN ZX81 :
TAPE/DISK LIBRARIAN QL :
PAPER LIBRARIAN:
NEWSLETTER:
LIAISON OFFICER:
( Out-of-town members )
(Area Code 416)
RENE BRUNEAU ( 531-9749 )
BILL LAWSON ( 444-8772 )
GEORGE CHAMBERS ( 751-7559 )
RENE BRUNEAU ( 531-9749 )
LYMAN PAQUETTE ( 482-4479 )
HUGH HOWIE ( 634-4929 )
JEFF TAYLOR ( 244-8583 )
JEFF TAYLOR ( 244-8583 )
GEORGE CHAMBERS. 14 RICHOME COURT
SCARBOROUGH. ONTARIO. M1K 2Y1
( 416-751-7559 )
TORONTO TIMEX-SINCLAIR USERS CLUB
Editorial
The new club executive will be
voted in by the in-town members
at the October meeting. While
this arrangement seems to work
for us, I can't help but wonder
if we could be doing more. Are
you being served? Can you think
of something that you'd like to
see changed or improved? We're
here to help. Just let us know.
Special thanks to Dan Elliott
of Cabool, Missouri, for his
quick repair of one of our blown
2068s. While he can't promise
such fast service, I think a two
week turnaround is pretty
amazing. See his info sheet in
this issue.
By the way, I want to see more
articles. Well, what else would
you expect an editor to say?
That's all for now...
J.T.
RAINY DAY THOUGHT- —
Was out fishing recently when the
rain came skipping1 and splashing
across the surface of the lake. I
just sat there and the thought came
to me that this is how Noah must
have felt in the Great Flood as the
rains came thundering down. Next
thought was that he must have spent
a lot 6*f time fishing.
Final thought was that in the midst
of all that water Noah could not do
much f i shing .
He only had two worms
H . H • H •
DID YOU KNOW ??
THAT THE BRITISH TREASURY USED
ROMAN BEAN COUNTERS UNTIL 1826 ! !
THAT'S RIGHT 1826.
ACCORDING TO AN ARTICLE IN THE
TORONTO STAR (AUG 27 91)
— Ill INTO XVI DOESN'T COMPUTE —
Q - HOW DO YOU ADD AND SUBTRACT
ROMAN NUMERALS ?
A ~ THERE IS NO ABSTRACT SYSTEM.
EITHER CONVERT THEM TO ARABIC
NUMERALS OR DO AS THE ROMANS DID:
GET AN ABACUS.
SINGLE SUMS THEY DID IN THEIR HEADS
OR ON THEIR FINGERS. AS SHORT CUTS,
ONE HAND ADDED UP TO V. BOTH HANDS
CAME TO X. THEN THEY TOOK OFF THEIR
SANDELS OR GOT OUT THE OLD ABACUS.
USUALLY IT WAS JUST A FLAT SURFACE
(•from the GREEK abax) MARKED WITH
COLUMNS OF THE SHORT-CUTS (V X C
etc.) AND THEY SHOVED PEBBLES OR
BEADS SHAPED LIKE HAMBURGER BUNS
AROUND IT. WHEN THEY GOT 10 I'S
THEY MOVED ONE COUNTER TO THE X
COLUMN, AND SO ON. TRICKS TO
COMPLICATED TO EXPLAIN HERE
PERMITTED ADDITION, SUBTRACTION
AND, TO SOME EXTENT, MULTIPLICATION
AND DIVISION.
IT WAS A CLUMSY SYSTEM, EVEN WHEN
BEADS OR METAL COUNTERS WERE STRUNG
ON WIRES TO MAKE A SORT OF POCKET
CALCULATOR, BUT IT PERSISTED IN
EUROPE FOR CENTURIES BECAUSE ONLY
SCHOLARS GRASPED ARABIC (ACTUALLY
HINDU) NOTATION.
NOW AREN'T YOU PLEASED YOU HAVE A QL
BILL LAWSON
SINC-LINK
3
BOB'S No tebo ok By SrtiStt£ttl&.t.
iaiM Ul'l PROGRAMMING OPTIONS...
This is the third in the series of tutorials on TOOLKIT; this
tine, some of options useful in altering listings will be
covered. The remainder will be included in the final part next
t i me .
RIGHT JUSTIFICATION...
Vou may have noticed that these articles are being prepared
using the Pixel Print Professional <PPP> progran also available
from the club library. In the first article, I started with no
right justification which is my preference because of the
strange spacing encountered. Nevertheless, I did the second
using the Hscript to PPP conversion routine provided by Stan
Lemke which does its own justification and so I'll stay with
this latter method for the remaining two articles. Compare the
two methods and decide for yourself which you prefer whenever
you use PPP.
TUO NOTES RE PROMPTS. . .
i> All prompts requiring line numbers actually reject any line
above 9996. This leaves three lines which can be used for SRUE
or other routines and of course line 9999 which is best made
RANDOMIZE USR 60606 <6E4 if you want to save bytes). This is a
handy way of reactivating TOOLKIT from BASIC: a quick 60 TO 9999
and there's the menu.
2> Vou can avoid the awkward entering of TOKENS in SEARCH
strings by turning ON the DISABLE NEW option <W>. If you are
searching for, say, all 60 TOs, hold down the Symbol Shift and A
key and the next key press will be taken as K mode, ie, pressing
g will input 60 TO. Much easier than all that deleting, backing
up and going forward you are probably used to.
PROGRAMING OPTIONS. . .
The following options are extremely useful to anyone who does a
lot of meddling with listings, either his/her own or someone
else's. Two of the ones I use most often are Search and List and
Search and Replace. Let's examine them first.
@ SEARCH AND LIST
As usual with many of the TOOLKIT options, the start and finish
lines are requested. The next prompt is for a string of
characters or TOKENS (see note 2 above) not more than 32 in
number. The display will then very quickly show all the lines
containing the given string. If you want this information to go
to the TS2646 printer, BREAK into BASIC before using this option
and enter OPEN #2,"p"; then all the output will go to the
printer but the prompts and menu will stay at the screen. If you
prefer to use your wide printer, make it RANDOMIZE USR 166: OPEN
#2,,,lp". Remember to set the line length and left margin, etc.
When searching for a TOKEN, eg, REM, you may get lines with no
REM in them. But the code for REM will be part of the line
content and there's no way to avoid this.
B ALTER PR06RAN == SEARCH AND REPLACE
As with Search and List, the start and finish lines are
requested. Now the prompts are for OLD and NEW strings, strings
meaning any sequence of characters or TOKENS (see note 2 above)
from the listing. The OLD and the NEW can be of different
lengths. There is a LIST option which I never use but which
should be OK if the number of alterations is short.
If the string to be altered contains floating point numbers, it
is necessary to alert the program by entering three ampersands
before and after the number in either or both OLD STRIN6 or NEW
STRIN6. For example, to change 66 T6 3686 to 66 T6 jj wherever
it appears in a listing (block), the form would be: <6LD STRIN6:
66 T6 &a&3888&&&, NEW STRIN6 : 66 T6 jj>. The maximum string
length in each case including the ampersands is 32. If you use
BIN, put the ampersands before the BIN and after the bits. Vou
can get Error 6 if the number is too large or even Error 4 but
no damage will occur.
SINC-LINK
H DELETE LINES
Enter the start and finish lines; needed for Spectrum only.
H MERGE LINES
Makes a specified block of lines into ONE. Match out for GO TO
destinations, REM lines and the liftit of 127 commands per line.
Frankly, long lines can be a real nuisance: in tight memory
situations they are difficult to EDIT or return to the listing;
the longer the line the slower the cursor movement when it is
being EDITed . I seldom use this one but I do have a separate
utility that will undo such a ness if anyone is interested. It
breaks a line down into its separate statements, each with its
own line number.
UPPER CASE
LDUER CASE
Uery useful when tidying up a listing. Since it is easier to
spot TOKEHs if all variables are in lowers, it is better to have
the listing in all lowers, except for texts in strings. These
two options allow you to convert letters between specified lines
and gives you the option to include or exclude characters inside
the string quotes. There is also a good utility provided by
Steven Gunhouse and available in the Omnibus disk which lets you
change all variables into lower case. TOOLKIT cannot be this
sel ect i ve .
H LOCATE TOKEN
This givens the address in both decimal and hex of the first
character after the line number and length pointer in a stated
line; it gives an error if the line is non-existent.
H COHPACTOR
Enter the start and finish line. This option then deletes any
unnecessary characters, (eg, spaces and colour controls) OUTSIDE
quotes. It ignores lines starting with REM but will affect
messages after REMs occurring later in a line.
This is a sample of a Search a List of the token REM in a
block of lines between 4600 and 7000.
Note that line 6240 does not show a REM. Toolkit cannot
distinguish between the code for REM which is 234 and a 234 as
part of a number. In this case 6e4=60000=234*256+96 .
4230 GO TO m3: REM D
4306 GO SUB 2246: GO TO 4110: REM K
4366 GO SUB 2306: GO TO 4116: REM Q
4428 PRINT Mod: GO TO ob : GO TO 1166: REM M
5266 PRINT ttod : GO TO od : PRINT ttod : LORD "doctor .Bb " s REM R
6266 GO SUB 2488: GO TO m3s : REM R
6240 PRINT ttod: LORD tstk.Cl CODE : RRNDOMIZE USR 59696:
RRNDOMIZE USR 6e4
6488 GO SUB 2578: GO TO m3 : REM U
SINC-LINK
PRINTER INTERFACES AND DRIVER SOFTWARE
A primer by George Chambers
GENERAL
There are a number of printer interfaces ava i I ab I e to TS2068 owners
who decide they want to hook a large printer onto their TS2068, This
series of articles is intended to remove some of the mystery surround ing
the use of large printers on the TS2068.
These articles will be confined to the printer inter faces/dr iver
software that I am familiar with; namely Tasman, Aerco, Hacksel, and
Larken LKDOS. I will not attempt to cover the same ground as the
instruction sheets for each of these systems. Rather I shall try to convey
a sense of how each system operates, and the id iosyncrac ies of each, and
the differences between them, which often lead to confus ion.
Since I certianly do not have all the answers to this appl i cat i on do
please feel free to comment and provide further enl ightenment on the
subject. I shall include your suggestions in the series.
I propose to discuss interfaces and the software genera 1 1 y in the first
article, then in subsequent articles cover each of the four driver
softwares mentioned, with programming examples for each.
**********************
The use of a large printer on the TS2068 requires the addition of a
printer interface board. This is a circuit which translates the signals
coming from the 2068 into a form usable by the printer concerned. There
are several such interfaces ava i I ab I e. Three of the most widely used are
the Tasman, the Aerco, and the Hacksel. There is also the Oliger, the A &.
J, and the British ZX LPRINT, that I am aware of.
All the above-mentioned systems are designed to drive a large printer
through a Centron ics-sty I e parallel port.
The Timex TOS disk system can also handle a large printer, however it is
designed to work to a printer with a serial port.
The majority of printers are equipped with a parallel port, some with
a serial port, while a few offer both serial and parallel ports. We shall
be dealing with the interfaces that serve printers with a parallel port.
The Tasman printer interface was probably the first one around. It was
designed or ig inal I y for the Spectrum, and was later adapted for use on the
TS2068. The Aerco iff was next, and has proved to be the most popular and
widely used. An Aerco I ook-al ike, built by Peter Hacksel, is a more recent
vers ion.
Each of the interfaces plugs into the rear bus of the 2068, and is
connected to the printer via a ribbon cable. There is also a version of
the Hacksel interface which plugs into the cartridge dock, with the ribbon
coming out the front and passing underneath to the rear of the computer.
All these interfaces are designed to provide a parallel output and to plug
into a parallel Centronics type port I jack on the printer.
There is not much mystery about the interface hardware. It Is simply
there and does it's job accord ing to the dictates of the driver software
assoc iated with it. Consequently we shall not discuss it further, but
instead concentrate on the driver software, where most of the
m i sunder stand ing arises.
SINC-LINK
Printer Driver Software
Software is needed to make the printer interfaces effective. In
addition to the driver software put out by Tasman, Aerco, Hacksel, and
01 iger for their systems, there have been a number of other drivers
written and marketed. The Larken LKDOS contains built-in software driver
code, as does the 01 iger disk system. Jack Dohany has also put out driver
software.
This software consists of a block of code which may range from 200-odd
bytes up to 1300 bytes. Sometimes the code is designed to reside in upper
memory, sometimes in the printer buffer. Driver software with many
features will reside in upper memory, because of the amount of space it
requ ires. Where upper memory is used by a large program, for example
0MN1CALC or MASTERF I LE, there is no room for the code in upper memory. The
Tasman copes with this by prov id ing several short versions which are
installed in the printer buffer area starting at address 23296,
We might mention that in the case of the Tasword and Mscript
word-processors, each have their own integral printer driver software. The
Tasword incorporates the graphics symbol arrangement of "tas intcode" for
imp I ement ing printer control codes.
Similarly, Mscript seems to have adopted the same sort of arrangement .
The character ">" at the start of a line tells Mscript that we are giving
it a printer command. Simple control codes then follow the ">" symbol , We
can also define a number of printer control codes by means of a "Format
line", and then invoke them with a Function-G command in the body of the
text. See the word-processor manuals for more detailed descr i pt ions.
When we decide to make use of the large printer the driver software
must be loaded into the computer. And the computer must also be "pointed"
to the location of this new software, so that when a call to print is
given the computer looks to this new software, rather than to the 2040
software. Let us backtrack a bit.
When the 2068 is first turned on it is set up ready to serve the 2040
printer. The software for this purpose is located in ROM at address 1280,
The computer stores a pointer to that address in a system variable at a
double address 26703/04. (A variable, incidental I y, not identified in the
user manual). If you PEEK these addresses you will get values of 0 and 5,
(Try PRINT PEEK 26703 + 256 * PEEK 26704).
Whenever we decide to use a large printer we have to change the values
in this "pointer" address so that it points to the start of our new driver
software.
The TASMAN software does this as part of it's RAND USR 64719
initialization. In the case of the Aerco and Hacksel drivers the correct
values must be POKEd manually. The LKDOS takes care of this internal I y;
with a default to the Aerco, If you have an Aerco i/f you do not need to
worry about it. Otherwise you need to do a POKE to the Larken ROM if you
wish to make use of a Tasman, A & J, or a user-def ined interface routine.
We shall now deal with each of the several printer drivers,
TASMAN
In the case of the Tasman software, called "tas intcode", it comes
with a Baste program which allows the user to customize the software to
the needs of the particular printer being used. Once it has been
"conditioned" there is an option to test it, and an option to save this
customized copy to tape, e zn,s
SINC-LINK
The Tasman "tas intcode" software loads at 64716, and is 652 bytes in
length. When loaded, it is in it ial ized by RANDOMIZE USR 647/9. This USR
call, among other things, pokes values 238 and 253, into the pointer
addresses 26703/04 respect ive I y. This points the 2068 to the driver code
starting address of 65006.
The Tasman driver code has an interest ing feature, in that it allows
you to instal several printer control funct ions, des ignat ing various 2068
graphics symbols to imp! ement them. Whenever one wants to engage a printer
function one simply enters the graphic symbol for that funct ion, into the
text being printed. When the driver encounters this symbol, it looks up a
table and sends out the printer control code sequence assigned to the
symbol. The printer control function comes into force immediately.
The Tasman software also has another interest ing quirk relating to
sending printer control codes, which can prove troub I esome if one is
unaware of it. That is, it can handle printer control codes only with the
CHR$ mode, and not with the OUT instruction (At least I have not been able
to do it!). More about that under the heading "CHR$ versus OUT Commands" .
In addition to the "tas intcode" software, Tasman also provides several
short code blocks that locate in the printer buffer area of memory. Each
has a unique capability. For example, "tasmini" does a screen text copy;
"tasepson" does a b/w screen copy; "tasbuff", which is an abbrev iated
version of "tas intcode" . And there are other drivers designed for specific
pr inters.
HACKSEL
When the Hacksel i/f hardware first appeared it made use of the Aerco
software. However, copyr ight restr ict ions required that new software be
developed for it. The software that was eventually supplied consisted of
three separate and distinct blocks of code. There was "LPRINT" CODE
65000,500; "b+w62300" CODE 62300,500; and col or61000" CODE 61000, 1300.
Each of these had a different funct ion. "LPRINT" allowed you to use the
LPRINT and LLIST commands. To use, you CLEAR 64999, load the code, then
POKE 26704,254. The POKE "points" the 2068 to the Hacksel code (PEEK 26703
* 256 * PEEK 26704 = 65024).
The "b+w63200" will allow a high resol ut ion black and white screen copy
to the full sized printer. This assumes that the printer is an EPSON
compat ibl e with graphics capabilities. To copy a screen, simply load this
code, then instead of using the COPY command, use RANDOMIZE USR 62300.
Note that because you are not invoking the LPRINT or LLIST commands one
does not need to "point" the 2068 to this address.
"co I or61 000" is a more complex piece of code. With it you can also do
a high resol ut ion screen copy as with the b+w63200", however the printout
will be in shades of grey for the corresponding colours on the screen. To
execute, use RANDOM IZE USR 61000. No "pointer" is required.
All three of these Hacksel softwares can be loaded at the same time,
without interfer ing with each other. You can save them as a single block
of code by SAVE "name" CODE 61000,4535.
The instruct ion sheets that come with the Hacksel interface provide a
list of POKEs for the several Tasman software drivers, to make them
compat ibl e with the Hacksel interface. This could be useful, since the
Tasman drivers have features not present in the Hacksel and the Aerco
SINC-LINK
software drivers.
Presumabl y the modified Tasman software will work with the Aerco i/f also.
Now, there is something else to watch out for. The Aerco and Hacksel
software offer two methods of sending informat ion to the printer. They can
send out the TS2068 character set, or a true ASCII character set. The best
descr ipt ion I can give of this is to be found in the Hacksel instruct ion
sheet, as follows:
"Al though the 2068 character set is ASCII compat ibl e, it is not exactly
the same as ASCII. For example, printing the character 255 on the 2068
will give the four letters that make up the word COPY. This is only true
for the 2068 and is necessary for execut ing the LLIST command. This
(LPRINT) routine will do this automatically for you. If you execute the
command LPRINT CHR$ 255, then the four letters C, O, P, and Y will be sent
to the printer. However there are some occasions where this is not to your
advantage. The main instance is when you wish to send control characters
to change fonts, underline, and so forth. In these cases the true ASCII
codes must be sent directly, and not be converted to the 2068 character
set. With this software you may select the true ASCII set by using the
POKE 65535, 1 command. If you wish to return to the 2068 character set,
then use the command POKE 65535,0."
In the use of a large printer on the 2068 the above statement is very
s ignif icant, and if ignored will lead to great f rust rat ions.
I mentioned that the Aerco and Hacksel have this "dual" character set
with the need to make a se I ect ion. This appears to be a common feature of
most, if not all North American produced driver software. The Larken LKDOS
uses this convent ion, also.
But Tasman does not refer to it, and does not seem to require it. The
answer may be in it's use of a double "CHR$ 27" in it's printer control
commands. More on that in a later article demonstrat ing Tasman printer
contro I s.
AERCO DRIVERS
The Aerco software consists of 1111 bytes of code, which is loaded at
address 64256. The original package as supplied is accompanied with a
Basic program to customise the driver to suit a particular printer. Nine
printers are named in the option table. If your printer is not in the
list, then you must experiment with the 7 opt ions prov ided and hope that
one will suit your printer. One of them usually will.
As is the case with the Hacksel, the Aerco software has two basic
modes. The default mode is for use with the Timex Basic system, and
automat ical I y expands all tokens as they are encountered. We'll refer to
it as the "Timex Basic" mode. Aerco calls the other mode LITERAL; this
corresponds to the Hacksel term "true ASCII set".
The Aerco "Timex Basic" mode is selected by POKE 64256,1
The other mode, termed LITERAL in the Aerco instruct ions, is where the
characters are sent to the printer with no changes made to them. Use the
LITERAL mode to send control characters to the printer, and for bit-mapped
graph ics.
Select this mode by POKE 64256,0
SIflC-LINK
9
Other POKEs provided in the Aerco instruct ions are:
To set the width of the printer: POKE &43256~, w idth-1
To send LINE FEED after CARRIAGE RETURN: POKE 6*260,10
To suppress LINE FEED after CARRIAGE RETURN: POKE 64260,0
To select Timex 2040 printer: POKE 26703,0; POKE 26704,5
To select Centronics printer: POKE 26703,0; POKE 26704,251
5 Ci4R<r;
In order to do a screen copy use the command LPRINT USR 1,
To make use of this command you must have a printer with a dot matrix
printer with b it-mapped graphics capab i I ity. The printer needs to be set
up in this mode. Look to your printer instruct ion sheet to determine the
necessary control characters.
LARKEN LKDOS
Any Larken disk system owners who do not range much beyond Tasword and
Mscript may wonder what all the fuss about printers drivers is. Well you
may wonder. When I got my Larken system I carefully put aside all my
printer driver softwares, to see whether I would ever need them again.
Essent ial I y, I never looked back. Until this project came up! I stayed ^
with the Tasword and Mscript drivers; there did not seem to be much point
to changing them. But everything else was Larken, except for b it-mapped
graphics software.
The Larken printer driver is in the LKDOS ROM, with cert i an of it's
variables in the LKDOS RAM. Variables such as printer interface type, Line
length, Left margin setting, the LF with CR feature. Variables one might
want to customise for a particular application.
The system defaults to Aerco (Hacksel) Interface, I ine length 64, LF with
CR, and a margin of 0. Changing them requires LKDOS-type POKEs.
The selection between the LITERAL and Timex Basic that we described
earlier on the Aercol Hacksel drivers is also done in the Larken driver,
with an LKDOS POKE.
The LKDOS has a useful feature. One can open any channel to the printer.
The most usful channels for this purpose are #3 and #5. More on this in a
later LKDOS demonstrat ion article.
ZX81 - MYSTERY PROGRAM
This is a short program which
enables a Basic instruct ion to be
trans I at ed into machine code without
the use of an interpreter or
assembly code. When you have
finished entering it, simply press
RUN and all will be made clear.
5 REM FOR ZX81 IN SLOW MODE
10 LET A= 16509
15 PRINT TAB 2; PEEK A*256+PEEK
(A+1)
20 LET L-PEEK ( A+2)+256*PEEK (
A+3)-1
25 LET A=A+3
30 FOR N=1 TO L
35 IF PEEK (N+A)<>126 THEN GO
TO 50
40 LET N=N+5
45 GO TO 55
50 PRINT CHR$ (PEEK (N+A));
55 NEXT N
60 LET A=A+N+1
65 IF A<16914 THEN GO TO 15
70 LET A$="B-9B25%.885E "
75 FOR N=1 TO LEN AS
80 FOR J=1 TO 50
85 NEXT J
90 PRINT AT 15,12+N;CHR$ (CODE
A$(N)+144)
95 NEXT N
Taken from the April '82 issue
of Your Computer - Vol.2 No. 4
SINC-LINK
NEW QL LIBRARY NOW READY
The Mew style QL Library is now
ready. I think I have got all
the bugs oat of it, and I also
think you will like its format.
Whether in color or monochrome.
The original catalogue was in
Abacus as I did not know how to
do it in Archive. But I hare
been learning and I have by
hook and by crook, begged
borrowed purloined amended and
in many other ways evolved a
Library Catalogue that I feel
will be of real interest to all
QL users.
"TorQLib" (for Toronto QL
Library) the title I have given
this, is easy to use, and has
six main fields, plus a number
of others, that nake it very
comprehensive. You will be
able to use this to form your
own library on almost any
subject. To do this you nay
wish to go into the program and
alter a few things, but that is
not so hard to do. loreover,
the exercise will enhance your
knowledge of Archive.
On running TorQLib you are
presented with the START screen
which is a short statement.
[ENTER] to proceed.
The next screen will allow you
to SELECT how you wish to use
TorQLib. You are given the
choice of:-
(1) The Complete File
(2) Disk
(3) Title
(4) Author
(5) Quit. (To Quit Archive and
close files)
You are also asked if you wish
the file in Order (Sorted)
(Y/H.) This will take you to
the "TorQLib" screen where all
is revealed. Each file is
displayed in its entirety, with
lots of information on show.
The main fields used are.'-
— Title
-- Category
— Disk
— Author
— Size
— Reference
Next there is a large window to
display all the files
Associated with the Title. The
size in bytes is. also displayed
of each segment of the file.
There are Windows for Loading
and Remarks. Also a window to
tell you the Number of the file
selected and to tell you the
amount of Memory Remaining.
Finally, there is a menu from
which you may select how you
operate the file by the use of
one_letter (ENTER) commands :-
A-Back_10
Z-Forard_10
B-Back (1)
F-First
N-Next
L-Last
S-Select
P-Print
Q-Quit
There is one other command in
the menu, and that is for use
when the Archive command "Find"
is used. When you use FIND in
Archive, the file is rewound to
the beginning and a search is
made for the first occurrance
of the string you are looking
for. If that is not correct
then "C-Continue" will progress
to the next occurance of that
string, and so on.
The PRINT command will give you
a hard copy of the whole or
selected files, in nice
presentation, 12 files to a
page.
On the TorQLib disk, I have
included a _doc file which will
give you a lot of useful
information on the use of the
Library in particular, and may
be of interest to you on some
aspects of Archive in general.
The library is on 5 1/4 1440
(80 track) disks. As this
would appear to be the QL disk
format most popular. I can
also put the Library on 720 (40
track) or on 3 1/2 disk.
Cartridge would take a host of
them to hold the complete
Library. There are at the
moment 217 titles in the
Library. Some good, some —
Available to members of
'TTSUC' ONLY.
The Categories used are '.-
Communications 1 Disks
Demonstration 1
Games 1
Graphics 1
Maths 1 "
Special 3 "
Utility 2
Z88 1
Psion
Plus the "TorQLib"
itself of course.
NOTE:- EXTRA
OF 256K+ IS
(Not
tested)
1 (Psion
related)
Library disk
MEMORY
ESSENTIAL
To order TorQLib Catalogue Disk.please send formatted medium and return postage/packing. I will be only too
pleased to answer any questions you might have at that time. This edition of the Library is much improved over
the last one, containing many useful additions which I am sure you will find of value and interest.
This is the final format of the QL Library which I wll present to the Club.
Additions - YES. Alterations to format - NO \
Hugh H Howie. QL Librarian. 586 Oneida Dr. Burlington. Out. Canada. L7T 3Y3
SINC-LINK
11
DAYTON COMPUTERFEST 1991
by Your Roving Reporter
One night at supper my wife said that
since I got that darn computer we never
went anywhere. So I thought a bit then
asked how she would like a trip down
south. That was fine with her, when do
we leave and where do we go. I replied
that we could head south and stop at
Dayton the first night and have a look
around, and take it from there. GREAT.
We arrived in Dayton on the Friday early
afternoon, and we drove around till I
found a small store, my wife asked me
what I bought and I said I was looking
for something and changed the subject.
Short time later we drove past the Hara
Arena and my wife said "Oh! they are
having a Computer Show here to-morrow"
Then a gasp and total silence.
Saturday we went to the Show, and owing
to my having purchased my tickets the
day before, (the "something" I was
looking for) I saved a dollar on each
ticket, and we were able to walk right in
without joining the quarter mile-long cash
pay line.
On entering the arena whcih has a wooden
floor, and chandeliers all over the place,
looks a mile long and almost the same
wide, and wall to wall computers.
Struggled through the masses to a
slightly lower floor, round a corner and I
am in the Sinclair Section. Must be about
fifty feet along one wall. There was Cats,
Istug, Tsnug, CATUG, Quanta, and of
course my old friend Paul Holmgren, the
only one I knew, and his partner Frank
Da vies.
ZXir Clive Alive was represented by Don
Lambert and Bob Swogger. But no real
identification. I wonder how many new
members they got?
I had a little difficulty in finding the
Sinclair Section as the signs they had
stuck on the wall were not as distinct as
I would have liked to see. There was not
too much on display, mainly books,
newsletters etc, and at Paul's table some
bits of this and that and some software. I
got some 5 1/4 discs from him at a good
price. However the action was not too
bad.
From Paul and Frank, I gathered there
was a strong possibility that Miracle
Systems in England did not know there
was a JSU version of the QL, and perhaps
this would account for some of the
difficulty I am having with the Gold Card.
I spoke to Ruth Fegler from CATS group
for a short time, where she had as well as
her own material, some books etc., from
SHARP'S who was also at the show, but on
a higher level, surrounded by all types of
computers, but NO SINCLAIR.
I spoke to Mark Steuber for a while
between customers, and he still is
interested in Sinclair, but it is definately
not his main source of income now-a-days.
I would say that he handles it because he
always has done so.
As I said earlier, the main floor is of
wood, all others are of concrete. One
thing very obvious was that the wooden
floor section was nice and cool, the
concrete floor section was very very hot.
Obviously they do a lot of Banquets at
the Hara Arena.
The lower sections are not a full floor
lower but rather a half floor lower,
accessed by a ramp which is much easier
to handle than a flight of stairs. The
whole complex is vast, I do not think the
Auto Building at the Ex would hold all
that was there.
There were Discs in all shapes and sizes.
I got some 5 1/4 at a good price, and
went looking for some 3 1/2, but I could
not better the price I would pay in
Canada for them. Sure there were plenty,
mainly done up in bundles of 25 or 50 or
100, at prices from 37 cents and up, with
the average about 65 cents for so-called
good ones. Once again, in bulk, un-
named, no labels, many pre-f or matted. I
decided the gamble was not worth the
price. After all I can get name brand
discs in Canada for anything from 75/85
in boxes of ten plus, including labels.
Sometimes less.
3 1/2 uncased disk drives were there in
their dozens. At opening the price was
from $45 to $57. But as the day wore on,
this price stabilised at $55, such was the
SINC-LINK
DAYTON COMPUTERFEST 1991
(Continued)
success of the show. Paul Holmgren did
not know what kind of day he had as he
had not had time to keep score. He
appeared happy.
When assessing prices at the show it was
essential to remember the extra 16 percent
we had to pay for our US currency, so
that something costing $20.00 was really
costing us $23.20. This made the disc
drive at $55 cost me $63.00. This for the
same drive I was buying in Toronto a few
weeks ago for $39.95! The 3 1/2 disc at
65 cents would cost me 75 cents, in this
light caution had to be the "watch- word. I
am of the opinion that prices were high.
That the show was a success as far as
the dealer went is a foregone conclusion.
In more than one instance I felt that
prices increased in the short time I was
there.
At 5pm when the show closed for the day,
the general concesus of opinion was it
had been a great success. Smiles on all
dealers faces, and empty tables. Still a
another day to come on the Sunday. I
did not stay for that one.
Before I went to Dayton, I made up some
cards representing the club. Plus a few
application forms to hand to anyone
interested. Handed out a few but not
many. I also made up a card to wear
indicating my affiliation. This was a
really wonderful opener to anyone I spoke
to. Bringing me back to what I mentioned
at the beginning, in the Sinclair Section
which was not large there was a lack of
group identification. Perhaps it was
thought that no indentification was
necessary. In the whole show there was
almost a complete lack of personal
identification among representatives. Mark
Steuber had his name on his chest, and
a few others. Even the major companies
at the show were suffering from this. I
Ike to know to whom I am speaking.
?ls a Computer Show it had to be a great
success. As a Sinclair show it was Uh
rJh. If this is the best we can do then
we are in a sorry state. From the action
E saw at Pauls' desk I would say there is
still plenty of Sinclair interest out there,
low to harness that interest is the
problem.
I would really like to have Toronto try
for a Computer Fest next year, but the
logistics are not in place. We would
have to rely on what support we have in
a small area, all that area to the south. I
am sure Sharp's would not come this far
north as his business is 90% IBM clones.
There are no other Sinclair dealers in this
area. I do not see many people travelling
400 miles plus to come to Toronto on a
chance. RMG would not come this far.
Would our friends to the East do so? We
have no one who is in the marketing
sector who would wish to travel this
distance. So let Toronto give up thoughts
of a Fest. After all, with the poor
appearance of the Sinclair section at the
Dayton Show to go by, I would say that
we are relegated to an out of the way
corner in larger shows, to keep in touch
with our friends. Too bad.
So we left Dayton on the Sunday morning
and headed for Virginia and the Blue
Ridge Drive where it was all that foggy
wet stuff so that you could see nowhere.
Two days like that and then back to K-
Mart and Wal-Mart. Then head for home.
The big shock was to get back to Canada
and gasoline prices of 57 cents a litre.
We were buying gas down there at 1.08 to
1.18 a gallon. Thats about 28 C/Litre.
Consider SNUG as folded I would say.
TSNUG may but only may, fill the gap.
UPDATE I wonder. I often ponder that
even UPDATE may not last too long. I
renewed my subscription, but I did not
notice an over abundance of action at that
table.
Anyway, here we are at home and now
my wife can -not say I never take her
anywhere. She has had her week away
from the stove, just letting other folks
serve her, and she loved it. We stopped
eating at the fast food places as the food
was all the same. Cost us more, but we
ate better. Almost as good as home.
A pleasant trip, and many new friends
made, and many phone voices and writers
now have bodies. §
SINC-LINK
1
Setting Up LKDOS User-Def ined Commands
by Steven Gunhouse
In the May issue of Sine-Link (vol.9 no. 3), Bob's Notebook discusses
using the LKDOS user defined command to invoke an NMI-F routine, but
points out that he usually gets an error when he does this. There are
ways around this, however.
The problem is that the routines end with a RET instruct ion. This is
the right thing to do with an NMJ routine, it would then return to the
LKDOS NMI routine so that it could exit properly. However, it poses two
problems when used as a user defined command. First, there is a system
variable (see Appendix D of your User Manual ) called CH ADD at 23645
which when the routine is done, should point to the term inator after the
command (either a colon or ENTER). Second, it does not disable the
cartridge before attempt i ng to return.
It would not be appropr iate to just put these into our NMI routine.
An NMI routine should leave regular memory as it found it, if poss ibl e.
So the first thing we will need to do is determine whether our routine
was called as an NMI or a user command, then act appropriately. Luckily,
there is a way provided in LKDOS to do this.
Two years ago, I published a list of useful locations in the LKDOS
cartridge (see vol.7 no. 4, pages 14-16). We find at location 8194 in
the cartridge something I labelled NMI flag. If the routine that called
LKDOS is a Basic command (like RANDOMIZE USR 100: CAT "", or PRINT #4:
DATA 0), this flag will be set to 0. If it was an NMI it will be 1.
Certian LKDOS utilities (like the Move program) will set it to 1 1 when
they use the cartr idge, but that doesn't matter much here. The point is
that we can read this location to determine how our routine was called,
and then act appropr iate I y.
I should note at this point that some of the ml in the LKDOS ROM also
reads this location, and will act differently depending on what it finds
here. Most s ignif icant in this respect are the ml LOAD and SAVE
commands (at 00C6 hex and OOCC hex). In part icular, by changing th'is
flag, I can make the computer think that it is running an NMI or just
turned on, and load the AUTOSTART program without further effort. I
take advantage of this in the new version of "autobt.Cx", which Bob is
describing in another article.
That isn't of much use to someone trying to write a useful routine
that works as both an NMI and a user command. If we hope to return to
our original program (which autoboot doesn't want to do), we must not
change the NMI flag.
There are a few subrout ines provided in LKDOS which may be useful in
a user funct ion. These include:
138 (008A hex) read a string to 8226 and check as a valid filename
141 (008D hex) find Basic terminator
144 (0090 hex) read a number, and leave it in BC register
156 (009C hex) read a string to 8226 (at most 10 chars.)
186 (OOBA hex) disable LKDOS cartridge and exit
One other fact of note: LKDOS does implement RST 32, but not RST 24.
For you non-programmers, RST 24 is used to read the current character
as pointed to by CH ADD, while RST 32 reads the next character -
ignoring spaces, colours, etc.
SINC-LINK
If we just want to make a routine that exits properly, and not read
what comes after the DATA keyword, we need not worry about that. All we
need to do is find the RET in our old NMI routine, and replace it with
the following:
LD A, 8194 load A register with NMI flag
AND A test to see if flag=0
RET NZ if flag is not O (i.e., if NMI) then return
CALL 1U1 adjust CH ADD to end of DATA statement
JMP 186 disable LKDOS and exit
We used a JMP 186 instead of a CALL because once LKDOS is disabled, ^
it doesn't make sense to return to our routine. With this, we could fix
the old graphics 24 so that it didn't cause the errors Bob complained
about.
But why stop there? The PRINT #4: DATA 0 command always has to have
a number (or string) after the DATA. With the other routines I listed ^
above, we could find out what this number or string is, and do something
with it I
I brought up RST 32 for a reason, as you may have guessed. When our
routine is called, CH ADD will point to the keyword DATA, but before we
use any of the subroutines to read a number or string, CH ADD should
point at the first character of the number or string. So we should have
something like this where we want to read the number:
LD A, 81 94 (we don't want to read a number if this is an NMI)
AND A (so if it isn't BASIC, do something else I)
JR NZ, SKIP IT
RST 32 set CH ADD to next character
CALL 144 read a number to BC (error if too large or not
a number)
After this we should check to make sure our number is an appropriate
value. In the new version of graphics 2* in Bob's article, I put the
indented lines and the checking into a subroutine, just after the
printer control codes.
If we were looking for 2 numbers instead of 1, we should check to
make sure there is a comma between them. We can't ^ RS T ^ for this
in LKDOS, so we would have to do something else. That would look like
th is:
read the first number, as above <
LD HL,( 23645) load some register pair with CH ADD
LD A, ( HL) load A with the character
CP 414. compare to 44=C0DE ", "
JR NZ,NONUM if not a comma, then there is no second number
read the second number, as above
Likewise, we could look for a third number (or string), and o fourth,
as many as 'we need. If there had to be a second £J works
off, we could include code to generate an error ^ssage " ^ £™
"normally. I decided not to do that in the ^iSS. /r the° second
didn't want to make it too hard to use. /^ou^/^^t^r code may
number was left off, the programmer meant 24, but some other coae y
not have that option.
SINC-LINK
/ have not concerned myself with preserving registers in this
article. Rest assured, almost any of the LKDOS routines used in th'S
article does alter many of the registers. So any values you need to keep
track of should be stored somewhere, or pushed onto the stack, and then
retrieved afterwards.
Also note that while I have had both NMI-F and the user command doing
almost the same thing, that need not be the case, /ou could use
flag to branch to a completely different routine for ™« .of
just skipping reading numbers. So we could have a rout me that copied
the screen to the printer in response to PRINT #4: DATA o but reload the
AUTOSTART if NMI-F was pressed. Or use your imagination.
Steven Gunhouse
323 1/2 N. Church St.
Bowl ing Green, OH U3U-02
retyped by GFC
due to faint copy
ZXB1 SCROLL CLEAR
While messing around on my 16K
ZX-81 I found a way to make the
screen Clear quickly after
scrolling. Normally a CLS command or
a return to non-Scrol led Printing
takes a long time because the
display has to be padded out with
spaces on the expanded machines.
This program will i 1 1 ustrate this:
10 FOR N = 1 TO 22
20 SCROLL
30 PRINT "TEST"
40 NEXT N
50 CLS
See how long the CLS command
takes. The trick is to artificially
pad the display file on each scroll,
by using a Tab to move the Print
position to the end of the line. To
show this, change the line 30 in the
program to:
30 PRINT "TEST"; TAB 31;
and RUN the program again. By
forcing the ZX-81 to print a full
line of 32 spaces each time, the
display file remains intact.
Taken from the November 1982 issue
of Your Computer .. .Vol .2 No. 11
SINC-LINK
New PRINT FACTORY Graphics
John McMichael has brought out a set of graphics collections
for users of Byte Power's PRINT FACTORY desk top publisher
suite. I've printed a few of the many (read a couple hundred)
graphics to show the quality available. Not bad for 2068
graphics, eh? For more information see the advertisement
contained in this issue. J.T.
* *
SINC-LINK
QL QL
GOLD CARD
Hugh H. Howie
QL QL
When ordering the GOLD CARD I decided
to send all the way to Merry England
for it. To Miracle Systems, the
producer. In this I may have been
very wise as the ensuing will show.
First, their terms of purchase were
favorable, and I did not know who was
handling the GOLD over here at that
time.
I had been using 512 Expanderam,
Cumana l/F, and had recently installed
Minerva. When I installed the GOLD
CARD the first thing I noticed was the
small amount of space it takes up. It
fits where the Trump and Cumana used
to fit. The only thing protruding is the
small heat sink which sticks out about
3/4 inch, about 1 inch long. This
releases about 32 square inches of desk
space for me. The heat to the right of
the QL is almost nil.
The next thing I noticed was the
unbelievable speed of the QL. When I
say unbelievable that is what it is.
The GOLD clock comes with a five year
battery, and there is provision to lock
the clock in to the GOLD, while using
the QL clock in another time frame. A
reset re-establishes the GOLD clock.
The small amnual hat comes with the
Gold Card says that can cause the time
to be lost. In my own case the Gold
was out of the QL for over a week
while i was away, when I came back I
plugged the Gold into another QL and
the time was within 6 seconds. I can
live with that, especially when it was
not plugged in.
Where you must use restricted memory
for certain programs the GOLD can do
this for you with a simple command.
In Taskmaster the title screen has
lights flashing across the title, using
the GOLD the lights possitively dance
and flicker.
Minerva has a hot-key RESET, which is
ALT-CTRL-SHIfT-TAB, and is very nice
to use, with The GOLD this was not so
nice. All I got was a screen of vertical
lines about half an inch apart, and a
lock-up. So I removed Minerva. Meant
losing the reset and a few other
goodies, but I try to do without it.
Would still like some of the Minerva
goodies back 'tho.
That was fine until I tried a print-out
of a document composed in GOLD and
text87, and the result was an absolute
mess. On a two column setup, the lines
were inclined to mix up a little, two
lines opposing one another would shift
outside the justified settings, or even
miss the odd letter from a word, with
capitals and double spacing inserted
where-ever fancy takes the printer or
program.
In a one column set-up the result could
not be better. Is it possibly text87 that
is wrong in the two column set-up? I
do not think so as Trump Card handles
the two columns fine.
When I tried the same two column
print-out with 512 and Cumana the
results were as planned for. So I
decided that enough was more than
enough, and wrote to Miracle in Merry
England, and am still waiting for a
reply... must admit at time of writing
they have not had time to receive my
letter, in which I enclosed a disc of
program and letters I was working
with. I await their reply. More on this
when I receive it.
Meantime I have been to Dayton and
had some interesting talks with a few
people, and have discovered that
Miracle until recently were probably
unaware that there was such an animal
as a JSU.
Another suggestion postulated was that
the QL 68000 was in opposition to the
GOLD 68000. MMMMmmmmmmm
To get back to the basics of the GOLD,
it is really wonderful to use. The
speed is really 3 to 4 times the speed
of the Trumpcard. I ran two QL's at
the same time, one with GOLD and one
with Trump, and to see how a pattern
evolved was fascinating. The GOLD ran
away. The demo was that of a tree
growing, Trump 50 seconds, GOLD 14
SINC-LINK
QL QL
GOLD CARD
(Continued)
seconds.
Next I took a Mandelbrot Pattern and
did the same thing. Now as you know
some of those patterns can take for
ever, thus making it almost boring to
watch. With the GOLD the pattern was
finished in ten minutes, while the
Trump was still clicking away 35
minutes later when a thunderstorm came
to my rescue (?) and stopped the
operation. Luckily no damage was
done. (This time)
I went to ARCHIVE, to the QL Library
and the speed of FIND, NEXT and all
other commands was truly amazing. It
redoubled my interest in this program.
Made it a joy to use and eliminated
many of those periods of nothing while
the QL went to work.
The GOLD Card is a MUST for all
serious QL users. The cost is high and
I do not deny this. J was talking to
Paul Holmgren at Dayton and I think he
said his price for GOLD is $599. But
also, where else can you step up to ST
speed for so little lay-out? and still
retain your QL? The price from Miracle
is £330 and they will allow £89 discount
for your Trump. Other discounts for
other things. You would have to ask
them about that. The above prices
work out at about $653 and $477
respectively. They accept Visa.
I have been using a 360 DSDD 40 track
disc as #1 and when I tried to format a
disk in this drive it formatted to 720,
(1440/1440) and when I put this to
Media Manager it shows 80 tracks. (On
a 40 track drive?) I have not had time
to work this out and there is a special
command to obviate this error, but I
must be using it incorrectly. The GOLD
can handle discs in 360, 720, 1.44 and
the new 3.2 size. I would like to see
that one!
The GOLD will automatically detect
which type of disc it is working with
when reading and writing, but it works
on a trial and error basis for
determining the density of a disc when
formatting. It is possible to format a
disc to a higher density than normal
hence the special command.
To see free_mem of the region of 1.8
Mbytes is something new to me. I don't
know what I am going to do with all
that memory but as it is there, no
doubt I will find a use for it, I always
do.
In QUILL we are all aware how slow the
scroll or move from bottom to top can
be, not any more. Change is made in
the wink of an eye near enough.
For anyone contemplating the GOLD I
would say hang off until I get some
answers from Miracle. Why buy
something in which there might be a
small bug? If It would only work on the
JSU as it does on the JS, it would be
the best thing to come along in a long
time. Perhaps it is the two-column
setup of text87 that's wrong?
One thing for sure is that it is not
very nice to use the GOLD to write with
and have to go to Cumana for a print-
out.
Please forgive rne for an odd or
perhaps an incomplete conclusion, as I
only had the GOLD for a couple days
before I left for Dayton, and I have
just got back and am rushing this for
the news-letter which is due to go to
the printer now, like yesterday.
If you can add anything to this letter,
please feel free to do so as I want to
know what does and does not work.
I will have more to say next Newsletter,
and by that time perhaps the Postal
strike will be over and I will have an
explanation from Miracle Systems. §
NEWSFLASH - GOLD CARD
JUST AS WE WERE GOING TO PRINT,
HUGH CALLED TO SAY THAT MIRACLE
SYSTEMS HAD SUPPLIED HIM WITH A
NEW EPR0M, VERSION 2.2, THAT
SEEMED TO SOLVE MOST IF NOT ALL
OF HIS GOLD CARD-RELATED PROBLEMS.
MORE ON THIS NEXT ISSUE.
SINC-LINK
19
BOB'S NOTEBOOK By M tiitchBll July 91
TOOLKIT Part 4 #»t.
This is the fourth and final part of the Toolkit tutorial; the
remaining options will be described and then there will be some
closing comments. Any serious programmer should have this suite
of utilities, some of which are indispensible while others have
only occasional applications. One or two are of doubtful worth.
There are some missing utilities that can be obtained from the
club library to fill in the gaps, eg, one that will break a very
long program line into its component statements.
Toolkit has one excellent feature that applies to nearly all
options: every parameter is prompted for on screen and most
errors that can occur are trapped. There are error messages to
guide the novice. The prompts call for input; strings and
numbers are printed on screen; letters and messages from a table
also are displayed. Input is placed in buffers and when complete
are tested for validity, fl final execute? prompt gives the user
a chance to back out. fit any time an empty string will abort the
option. Some routines have extra tests and error traps built in.
The original author D. Spagnol produced a masterpiece and it has
never been equaled, let alone surpassed.
PROGRAMING OPTIONS...
The first two options <V> and <Z> are for use with renumbering
routines. If memory is short, <V> will work with <R> and <M> but
<C> may have corrupted the variables. If lines become mixed up
try using <Z>. It's all theoretical; it hasn't happened to me.
S (INCORRUPT
Occasionally a program will not load very well from tape and any
attempt to edit lines results in a large number of lines
disappearing, or a resounding crash; this because Invisible
Length bytes have been corrupted. Use this option and editing is
possible. REM lines containing machine code with CHRS13 could be
ruined, so beware.
S LINE SORT
If line numbers are very badly corrupted, they may not be listed
and will be rejected as program lines. Breaking back into BRSIC
and doing a RANDOMIZE USR 65248 will do a simple renumber of the
Program area from line 1 in steps of one. Mo GO TOs are
corrected. This choice can really mess up a listing and so it
has been made hard to access. Make sure you have a SRUE before
trying this one.
Best of luck using these two.
The remaining options are much better ones.
M REN CREATE
This option can create a REM with up to 35666 characters in the
blink of an eye. If you store machine code this way, this
utility is for you. Prompts are for Line Number, Length and
Symbol .
S REN DELETE
Prompts for start and finish lines, then deletes REM lines in
that range only, including : REM further down the line. It will
not deal with such weird stuff as IF a THEN REM.
IS UBG DESIGNER
This prompts for a character as a starting point which can be
amended by entering the coordinates of an eight by eight grid,
number first, followed by <i> to fill in or <o> to delete.
Mirror images, inversions and rotations are possible. The
character being worked on can finally be assigned to a specific
letter. The UDG set can be set back to start up values by using
9Z.
SINC-LINK
m UBGs TO DATA
Here is where you store your work done via option 6 or any other
collection of UDGs, tor that Matter. It prompts for the number
of UDGs starting from fl <eg, 4 will give graphic fl, B, C and D>,
the number for the first DfiTR line. It will put eight bytes in
each line.
M BVTES TO DATA
Similar to <U> . It prompts for start and finish addresses, a
destination and number of bytes pot* lino (Max 64 by t os pot-
line). Lines will increment by one. Vou have the option of Hex
or Decimal input with only Hex giving a checksum. There is a
memory check before each line is started to ensure that the
program is not corrupted by incomplete lines. There is also a
check to ensure enough unused lines are available at
destination. If your code conflicts with the Toolkit memory map,
move it somewhere else, load Toolkit and later move the code
back where it is designed to operate.
LAST tllHUTE THOUGHTS. .
IH2 SET UP. . .
The revised code starts at 59696 and creates a 257-byte block of
E9s <233 decimal) from 59392 to 59648.
Start up procedure: CLEAR 59391 then load the code tstk.Cl which
is 5672 bytes long.
Use RANDOMIZE USR 59696 then RANDOMIZE USR 60080 to activate the
full program or just RANDOMIZE USR 60000 if you do not want to
use the IM2 options.
LIST VARIABLES CORRUPTION...
If you get a corruption at the end of the variables listing, try
this: locate E-line C PEEK 23641 + 256 * 23642>, then POKE E-line
minus one, 128. Then re-save toolkit Con a different disk).
UBG DESIGNER. . .
UBG E (start)..
Vou can now change this udg
to anything you want.
This sawple shows the UDG E
changed to a different e.
DESIGN UDGS
CHflRflCTER : E
USE LINE COLUMN I/O (on /Off)
FUNCTIONS
flBCDEFGH
1 1
2 mmmm 2
3 ■ 3
* pm 4.
5 ■ 5
6 ■ 6
7 HBHMHi 7
9A-9U ENTER UDG
9U INUERSE
9U LEFT -RIGHT
9X UP-DOUN
9Y ROTATE
92 RESET UDGS
flBCDEFGH
O = RESTART
flBCDEFGH I JKLMNOPORSTU
ABCDEFGH I JKLMNOPORSTU
Once you have designed the
new UDG enter it, using 9E
or any location ft-U.
Use option U to save your
new UDG set to DATA statements.
DESIGN UDGS
CHflRflCTER: 9
USE LINE COLUMN I/O (on /off)
FUNCTIONS
9A-9U ENTER UDG
9U INUERSE
9UI LEFT-RIGHT
9X UP-DOUN
9Y ROTATE
92 RESET UDGS
flBCDEFGH
0 = RESTART
ABCDEFGH I JKLMNOPORSTU
ABCDEFGH I JKLMNOPORSTU
Note that the small UDG near
the top changes as you input
the pixels. This UDG has
also been inverted using 9U .
This ends the four-part series on Toolkit. I trust you uill
find it as useful as I have. If you have any coiients, ideas or
or suggestions, please contact »e.
Bob Mitchell
SINC-LINK
For some time now I have been
pondering why so many of as
have computers. Is it because
it is the 'done' thing to be
computer literate? Is it
because if you are not computer
literate you are out of the
main stream? In my case I
always thought I would like to
have a computer for business
purposes but my business
advisers of the day were not in
agreement with me. They
thought a computer would not
help in my operation. They
were accountants so they should
know, so I went along with
them. Until I retired and then
I could justify it on the
grounds I needed a toy to
occupy my leasure moments. So
I bought one - a 1)1 at that!
Some toy. The accountants still
don't have a computer! I don't
go to them any more either. I
think they use the abacus! Ton
know what I mean? that funny
rack with balls on a wire.
Soon I was doing all sorts of
weird and wonderful things, and
some not so weird and
wonderful, but I was having a
good time. I thought. I got
the idea if I had this program
or that program then all would
be solved and made clear to me.
So I bought a mass of programs
and tried to use them all, and
all at the same time. Soon I
realised I was getting no-where
fast, I was trying to do too
much at the one time when I was
just learning, low that may be
a strange statement as we are
all learning all the time,
which is why we keep buying
more programs or trying to
write new ones. It is all a
learning process. Or is it?
Sometimes we never learn.
AMBLING
By Hugh H Howie
What I am really getting at is
do we really need all those
programs on which we spend much
money ?
Is it speed we are after? most
of the stuff is fast enough for
me. I ain't that fast myself.
Is it just the feeling of doing
something better that my buddy?
I can understand that as my
buddy is so darned slow. Did
you know he is so darned slow,
the other day he was stopped by
the cops on the highway and
when he was asked if he knew
why he was stopped, he asked
the cops "las I the only one
you could catch?" Slow?
Really I wonder if we try to
play with too many programs,
not really understanding the
capabilities of each one. It
would be better if we tried to
become conversant with a few
programs in which we have a
real interest rather than have
a general knowledge of many,
and end up using none of them
to foil capability.
I am one of those people who
have played, and I mean played,
with so many programs in the
past. low I am beginning to
get the idea that my time would
have been better spent in an
effort to really get to know
what a given program really
could do. The other night I
could not get my printer to
print a certain character which
it had done in the past, so I
was lazy and picked up the
phone to ask the EXPHKT what
was wrong. The answer came
back in short order. "Ton are
in the wrong character set".
Sure and he was telling me
something I didn't know? That
S
is why I called him in the
first place. So I did a quick
check while he was still on the
phone, and sure enough he was
right. I was in Italy instead
of England. So I did a quick
adjustment and I got the
character I was looking for.
How this just goes to show that
if I had really understood the
program I was using, I could
have saved myself a few
Telephone Bucks. Did you ever
see the size of those bucks?
Hakes your head spin.
Sometimes I feel like a
politician, I don't know much
about anything but I sure do
know a lot about nothing.
Hang on! I'm gettin there. He
should spend more time
understanding a program, then
we would be able to spend more
time enjoying the use of the
program, understanding what we
can do with it, and what it can
do for us.
I know from the amount of
material in the library, and
having tried to see how all the
progs and utilities work, there
is no way in all the wide world
I would have time to use them
all, or even if I would have
the need to use them. The only
thing I can use as an eicuse is
that it nice to have them,
"Just In Case"
Out for a walk the other
day and I met a chap I
had not seen for a while.
Asked him how he liked
retirement. Said he liked
it fine but he missed the
coffee breaks.
Now thJui> JU> wnesie. I b(Lejv aXmXjng aJUL thJUt> tAjne.. I nave, j'u^t ne.pt you.
hanging on tJUUL I got, to the, end. you, now <t>e.e. what, can be. done by a bXX, oi
Atady -in the. a-6e-4 o£ a pi.o giam . Th>Lt> A** aJUL done, at one, tAjne,. No iancy
cat and pa+te,. No iancy Ve^h-Top VabUubhesx.. No iancy anything e,x.ce,pt a
dasm good U)oid Vn.oceA>*on.. I wXJUL -Leave, you. to gae*t>*t> whLch, one..
You might even be interested enough to ask.
PLEASE DO SINC-LINK
BOB - S NOTEBOOK
REWRITE: RUTOBOOT & GRRFIX24
This issue, I am presenting rewrites of two utilities which are
mainly the work of Steven Gunhouse, our club member in Bowling
Green, Ohio. These are the autoboot and graphics 24 utilities
which I have used in the Omnibus collection but which can
certainly be used in other applications.
Let me start by saying that he wrote to me explaining how I got
an error report when trying to use PRINT #4: DRTR 0 to access
the HMI screen dump (or anything else) . He was referring to this
column in the May-Jun 91 issue. He explained it this way: "The
routine <ie, PRINT #4: DRTR 0> does not exit by the proper way
and does not adjust the machine code variable CH RDD to point to
the end of the current statement." fls an aside, I must add that
RANDOMIZE USR 168: DRTR 6 seems to work equally well, although I
had trouble at first.
He then went on to correct the problem as follows CI quote in
fart > : "...refer back to Sine-Link vol 7 no 5 ...memory map of
he LKDOS car t r i dge . . . . at 8194d <2882h> there is a flag which
tells LKDOS whether it is executing a BRSIC command like DRTR,
an NMI routine or something else. If the flag is 8 (zero) it's a
BRSIC command; if a 1 (one) it's either in start up or NMI;
...if an 11 it is CODE." Then he went on to write some machine
code which included loading a 1 into this flag location. This
code improved the autoboot file "autobt.Cx" as used in the
Omnibus disk; that's the one that returns action to the
AUTOSTART file in the selected drive whenever it is triggered.
Besides cutting the length to 56 bytes by taking out some
redundant stuff, he put in an LDIR routine to transfer the code
quickly from the 24495 area in 2868 RAM to the 16358 area <34
bytes only) in the LKDOS RRM. This eliminated my use of POKEs to
accomplish this rather slowly in the earlier version. He went on
to state that "if the address 2882h held a 1, everything after
the LORD was automatic". I entered this code and when it was
incorporated into my Omnibus disk, it did indeed work just fine.
Graphix 24, as originally conceived, was useful for copying all
24 lines of the screen to the wide printer. However, if had
major drawbacks: It was necessary to check that the print head
was located at the left before each use of the code; the
printout was restricted to a left margin of five; all 24 lines
would be printed including the bottom line which might have
those pesky dots generated by an LKDOS NMI+S save.
Steven's rewrite overcomes those deficiencies and gets over a
few more. It handles the PRINT #4: DRTR 8 command properly; it
responds to LKDOS variables LFEED and MRRG so that the line feed
can be turned ON or OFF and the left margin can be anywhere. I
have used this feature in Omnibus to switch from left column to
right when printing screen dumps, thus saving paper or just
helping get the proper layouts.
R word of caution: if you interrupt the normal sequence of
events when using this utility, you should probably reset the
printhead manually (turn the printer OFF then 0N> . Furthermore,
in resetting the print-head to a different position, the utility
generates an extra line feed which should be taken into account
when positioning the paper in the printer.
The version presented here is intended for use with the Rerco
printer i/f driver which is like the LKDOS one. It uses BIT 4, A
at 3F5F hex to replace my old printer-ready check using <IF IN
127<>23?> and thus making it work with newer Epson compatible
printers including my Fastext 88. Some of the older Epsons and
such did not use <CHft* 27; ; CHR$5> to do the graphics but
rather <CHR* 27;"K">, originally. If you need code for other
drivers (R&J, TflSMRN, TRS2) , there is a separate file in the
library that is available on request.
Moreover, the PRINT #4; DRTR 8 command has been expanded to
allow for one or two parameters, the first determining the start
line of the screen dump and the second the number of lines to be
copied to the printer. In both cases, if the number is out of
range (or missing the second parameter), it presumes the default
value <8> and prints the whole screen.
The code for both the autoboot and t he |qrapjhjj<_2jl, routines is
shown below. In both cases, the LDIR routines are NOT
transferred to the LKDOS RRM.
I have not provided the disassemblies but these can be prepared
using any good disassembler. The code is presented in different
SINC-LINK
f crms , . both
11 tru
in HEX and PECIMflL, with and without addresses, with
and without spacing. This does not matter and all that, is
necessary is that the code groups be entered Mia a convenient
loader. I have presumed that the reader will have machine code
loaders to use with these listings. If you need these, they can
be obtained from the library; in fact a disk with all this
material will be placed in the library.
tutobt.Cx at 5FRF
haract ers .
hex. Spaces required after each pair of
I
L
F3CD628821C55F11 DE3FED53162Q81 22 88EDB8C3BR883E88
32832821F63F1122 28818R88EDB83E81 328228C3C6884155
544F535441525428 — —
f
ddress holds value 88h (128d) which selects drive 4; 1
ou want the autoboot to operate^angther drive , change this t
he correct hex value <82=drv8; 84=drvl; 88=drv2; 18=drv3> .
If you prefer to work in decimal:
0nlSb34 bytes2a?l5mo5ed to the LKDOS Rfltl < 16358-16383 >
243,285,98.8,33,197,95,17,222,63.237,83,22-32.1,34,
8,237 . 176, 195, 186, 8,62, 128. 58, 3. 32, 33, 246, 63. 17,34,
32, 1,18,8,237,176,62,1,58,2,32,195,198,8,65,85,
84,79,83,84,65,82,84,32
2 A 4-?
To alter the selected drive, r ^ x "
change address 24518 (now 128 for drv4> to:
2=drv8; 4=drvl; 8=drv2; 16=drv3 .
Here's the code for the graphix 24 rewrite and which I call
<grafsl.Cl>, which stands for Graphics/Start/no. of Lines.
But first some notes: . , ~ .
The Printer control codes start at 68B3h/24755d and comprise:
27 65 8 for 8^72 inch line spacing;
27 42 5 8 1 for single density bit image graphics;
27 58 for normal line spacing. .
Inverted printing of the screen dump can be obtained by changing
the 28 to 28 h <48 to 32 d> at address 6e7Dh£24781d . If can also
be obtained by doing the following double POKEs to the LKDOS
RRM
PRIHT #4: POKE 16147,288 for IHUERSE; 16147,296 for NORMAL.
graf si .CI
HEX
6884H
6814H
6824K
6834H
6844H
6854H
6864H
6874H
6884H
6894H
68R4H
68B4H
68C4K
68D4H
68E4H
68F4H
F3
88
R8
6F
3F
47
87
28
7B
B^T
3F
IB
IB
79
B2
7F
CD 62
ED B8
mn
28 82
7D E6
3E 28
16 88
CD B2
67 CD
3fl 82
41 88^:
32 FF^
FE 18
3F 3R
C9 88
88 21
C3 BR
88 48
84 67
38 88
87 8F
CD B2
E5 IE
3F El
R8 3F
28 R7
FF FF
FF FF
C9 46
DC 3E
88 88
ID 68
88 88
3R 82
ED 5B
R7 28
BF 8F
3F 18
81 7E
CB 8R
CI 18
C8 CD
FF FF
FF FF
11 688CH
88 681CH
28 682CH
5D 683CH
59 684CH
6F 685CH
F9 686CH
24 687CH
38 688CH
C8 689CH
8D 68RCH
85 68BCH
E5 68CCK
CD 68DCH
F5 68ECH
88
E4 3E
88 21
R7 28
ii ^
C5 E5
21 82
R2 28
ER 2C
21 8R
88 C3
IB 2R
E7 CD
B2 3F
DB 7F
ED 53
7fl 3F
22 CD
51 IS
3R DE
3F CD
81 37
18 E5
3F CD
BR 88
85 88
98 88
18 F9
CB 67
16 28
CD 9F
92 3F
3E (47?
9F ^3F
CB 13
28 84
9F 3F
FF FF
81 FF
El 78
C9 3E
28 FR
81 E8
3F CD
38 85
CD 92
18 95
R7 28
El 86
38 F6
3E 88
CD R8
FF 83
FF 82
R7 C8
8D CD
Fl D3
graf si . CI Pfc.TT
24588 243 285 98 8 33 29 96 17
24596 8 237 176 195 186 8 8 8
24612 168 63 33 8 64 58 2 32
24628 111 238 24 132 183 237 91 93
24644 63 48 2 48 8 167 48 89
24668 71 125 238 7 15 15 15 111
24676 7 62 32 285 178 63 16 249
24692 32 22 128 229 38 1 126 36
24788 123 285 178 63 225 283 18 48
24724 132 183 285 168 63 193 16 192
24748 63 58 2 32 167 192 285 141
24756 27 65 8 255 255 255 255 5
24588 228 62 237 83 22 32 1 224
24684 8 33 122 63 285 159 63 285
24628 167 32 34 285 146 63 48 5
24636 92 26 254 44 32 15 285 146
24652 133 254 25 56 2 62 24 149
24668 197 229 58 222 62 71 167 48
24684 33 138 63 285 159 63 225 6
24788 162 48 1 55 283 19 48 246
24716 234 44 16 229 32 4 62 8
24732 33 138 63 285 159 63 285 168
24748 8 195 186 8 255 255 255 3
24764 27 42 5 8 1 255 255 2
continued. . .
SINC-LINK
24772 27 58 255 255 255 255 255 229 24788 231 285 144 8 225 128 167 192
24788 121 254 24 281 78 35 126 285 24796 178 63 16 249 281 62 13 285
24884 178 63 58 228 62 167 288 245 24812 219 127 283 183 32 258 241 211
24828 127 281 8 8 8 8 8 8
CHANGES TB OMNIBUS
on adjusting the latter.
Rssuning that you J?-^ O«oibus «jC|s^e c«p3 code to compress
LStt^?erV?'^;,„ K. saCId as on! file. thus conserving track
lEacI •&i?hCfRe^Ibo3rjhanies°«ade saie the three in one bu
RANDOMIZE USR 188: SflUE "ombMC.Cl CODE i4Jii,3ii.
u i . . r _ i i ,i _„ ^hmnoc fn uour Omnibus BRSIC listing.
Now make the following cnanges to yuur ^i-.. version you
The line numbers may vary a bit depending on rne version you
have .
1868 change 16318 to 16358 04311
1186 PRINT *4: LOAD 'ortbMC .CI CODE ?22qs • REM autobt
1228 should end with RftNDOMIZE USR 24495 . REM autoDt
1225 RRNDOMIZE USR 24588: REM grafsl
2578 RRNDOMIZE USR 24588
4818 PRINT #4: POKE 8214,16358
Save the Back-up from the «ain menu, then |ave t he flutost art
version from the main menu. Jbe fiutostart nas rne code qroups
saving all the system variables incuding he safe 9 P
located from 24311 up. Make two copies just To oe sate.
Clear the computer and load the K««t2Sttini al lathis* to11 work?
gone well. If you have some * rou6i* 9?k£ 1 Sfuh library
you may have to get a disk copy from the club library.
Once again, many thanks to St*venfpr providing ?nnerf ni§rk?SSs
useful code as well as a lot of insight into rne inner wortcings
of LKDOS, printers and machine code in general.
Bob Mitchell 918738
ZX81 - FASTER SLOW MODE
If you like to type in programs
slow mode, you will have found
that it can he annoying when
adding lines to a long program, to
have to wait while the computer
writes the entire screen every
time. It is especially bad if the
line is a long Print or Rem line.
This small program can be
temporar i I y stored near the start
of the program using a few spare
I ines. When one has a screenful of
lines, type GOTO (first program
line). Answer the prompt with the
last line you have entered and it
will return you to the last line
you have entered and it will
return you to that line with an
empty screen below. It also POKEs
the listing system variable to
ensure that every relist after
that will return to your chosen
I ine.
Retyped from the April '82 issue
of Your Computer Vol, 2 No, 4'
2 CLS
3 PRINT "TYPE A LINE NO"
14. INPUT XXX
5 POKE 7 64 7 9, XXX - INT (XXX/
256)* 256
6 POKE 16420, INT (XXX/256)
7 LIST XXX
8 STOP
SINC-LINK
ONE-SIDED DISKS
DO NOT EXIST
By Hugh H Howie
Sittin' here thinkin. Now jest yew hole
on a minit, a often sit and think. It
mebbe no be very obvious but a is
thinkin. A mebbe no be thinkin bout
much but at leas a am a thinkin.
Now my thoughts turned to Computer
Disks. Just shows i am thinking, because
as soon as I mention computers, I clean
up my act.
We have all heard of Double sided and
Single sided disks. Did you know that
there is no such animal as a single sided
disk? No sir! They is all double sided.
That's right, all disks are double sided no
matter what the jacket or manufacturer or
whatever might say.
It is the DRIVER that is single sided.
Some drivers write to one side, or both
sides, but the disk ALWAYS has DOUBLE
SIDED CAPABILITIES. At least that piece
of plastic inside has the capabilities.
Sometimes the jacket won't let it, but it is
there.
There are 40 track and 80 track and
single density and double density and
even quad density, but all disks are
double sided. No matter what. Density is
all to do with the number of tracks a
"Disk Driver" is capable of putting on the
disk. The difference is that with the 40
track, each track is wider, and with 80
track each track is narrower. The
Density has to do with the density of the
tracks on the disk. Now there is a verra
profound statemant if there ever was one.
In a phonogragh/gramaphone record, the
'groove' is only one continuous spiral
from the outer edge to the centre of the
record. But on a Disk as in diskette,
each track (groove- but it not a groove-
just a track still to be placed there by
the driver) is on its own. Thus a 40
track actually has 40 seperate tracks.
Now here is where it can get a bit
confusing, which is what thinkin is all
about. It is possible when using a
double-sided driver to format a disk so
that the disk is one-sided.
Come again?
You see, a double-sided driver has two
heads, which is why it thinks better than
you and me, and when it is writing it
uses both heads, one writes to side 0 and
the other writes to side 1.
Now if we give it a format command where
the eleventh character of the format name
put on the disk is an asterisk, then that
disk will only be formatted on one side.
That would be side 0.
The asterisk being the eleventh character
of the name tells the driver not to use its
1 head, just to use its 0 head. So the
driver writes to side 0 and forgets about
side 1. We therefore have a one-sided
disk at last! Next time you format the
disk, do so normally and you will be back
where you started with a two-sided disk.
If we were to copy to this disk, then put
this disk through Media Manager or
something like that, we would find that
indeed there was no side 1. It is ignored
completely.
The command which does this is:-
FORMAT "FLP 1__MYSTER IOUS*"
Don't forget the quotes.
The result is a disk called MYSTERIOUS,
and it sure is. But of course you can
use your own title.
So we CAN have a one-sided disk, but
only if we make it that way ourselves.
Of what value it would be I have no idea.
But I like to get into things like that as
this is the only way to learn. To hear and
read about single and double-sided disks,
and then look at them both, it seemed to
me that both sides appeared to be the
same. I also could not understand why
the manufacturer would go to the trouble
of coating one side when it would be just
as easy to coat both at the same time.
Not to mention the problem of making sure
that a given side was the UP side when
placed inside the jacket.
Why not try it for yourself?
SINC-LINK
nOTESOOK
DIGITRL CLOCK
i 15:80:001:
^"FOR'fHi'frieie"" i
i
fi MRCHINE CODE PROGRRM LOOKING I
FOR R PLRCE TO UORK! TRY IT! I
V J
This
digi
be u
If u
2 to
via
pro
w
seco
uppe
sere
code
sere
des i
rog
• ill
bit
tal
sed
ses
all
mult
raw
sh
nds
r r
en .
pro
en
rabl
of CO
24-hou
i n var
the Z8
ou the
i t ask i
i s ope
ow ho
fin ex
framme
ocat i
de will
r clock
ious app
8's Inte
clock t
ng, whil
rat ing .
urs, pi
14:66:52
corner
per ience
r can
on , it
provid
which
1 i cat i
rrupt
o app
e ano
The c
nut es
> in
of
d mac
a 1 1 er
this
e a
can
ons .
Mode
ear ,
t her
1 ock
and
the
the
hine
the
i s
To start the
which POKES
into the last
code and then
USR 65020 whi
rout i ne
interrupts. T
GO TO 4000
RANDOMIZE US
triggers an I
the interrupt
restart the c
clock G
the inp
few byt
does a
ch actua
and d
o stop
wh i c
R 65077
Ml rout i
s normal
lock, GO
0 TO 3000
ut t ed t i me
es of the
RANDOMIZE
tes the IM2
iverts the
the clock,
h does a
which
ne to make
again . To
TO 3030.
Memory used is from 64256 to
65291, part of which is taken up
with a 257 byte table of 251's
necessary to make the IM2
routine work with the TS2068.
See this column Sep-0ct 85 for a
more detailed explanation of how
this interrupt mode 2 functions.
I used Carol Brooksb
routine in ZX Comput
85 as my source, co
from Spectrum to
mainly to includ
modifications: and c
display to a 24-h
which involved addin
extra code. Machine
can find added inf
that article. The cl
keep time accurate
second, if left runn
long. The only
provided is a coa
address 65097. It is
set at 60 and can be
a higher value to si
or a lower one to sp
found it best to lea
60 as is; other valu
it less accurate.
ank's timer
ing Oct/Nov
nverting it
TS2068 use,
e the IM2
hanging the
our clock,
g a little
code buffs
ormation in
ock wi 1 1 not
ly to the
ing for very
ad j ust went
rse one at
original ly
changed to
ow the clock
eed it up. I
ve the value
es only made
Using disk SRUE and LORD
commands while the clock is
running will cause the clock to
stop running briefly and then
resume. Using the NMI button
will cause a crash so it is
better to turn the clock off
when about to do this.
Enter the
1 ist ing
TS2068 and GO TO 9600
into the
to save it
to disk. When the program is
first loaded, it will POKE^ the
code into upper memory at 65020.
100 REM clock
185 REM GO TO LINE 3000 to
start clock. Enter time in
24-hour system (eg, 7:28pm is
192800> .
110 REM GO TO LINE 4000 to stop
c 1 ock «
115 REM value in 65097 can be
changed to alter clock speed. 60
is normal; higher value slows
c 1 ock ■
120 REM turn clock off before
using NMI button.
1888 DATA 33,0,252,1,251,0,113,
35,16,252,113,62,195,50,251,251
1001 6flTR 33,60,254,34.252,251,
62,252, 237,71,237,94,253,54,2,0
1002 DATA 24,11,22,0,24,48,48,
58, 48, 48, 58, 48. 48, 33, 38, 254
1663 6ATA 6,ii, 126, 215,35,5,
32,250,201,237,86,62,63,237,
71 201
1004 DflTfl 245.229,197,213,175,
58, 1, 255, 66, 56, 1, 255, 254,
68218 74
1665 DflTfl 8,175,58.1,255.58,9,
255,66, 58, 9,255, 254,18,56,164
1866 DflTfl 175,58,9,255,58,8,
255,66,58,8,255, 254,6,56, 89,175
1667 DflTfl 58,8,255,58.6,255,68,
58, 6,255, 254, 18, 56, 74, 175, 58
1668 DflTfl 6,255,58,5,255,66,50,
5, 255, 254,6,56, 59, 175, 50,5
1009 6flTfl 255,58,3.255,68,58,3,
255,254, 4,48,2,32, 2i, 58, 2
1818 Dfltfi 255,254,2,32,14,58,3,
255.175, 56, 3,255,58,2,255, i75
1611 Dfltfl 56,2,255.58,3,255,58,
3, 255, 254, 16, 56, 11, 175, 56, 3
1612 6flTfl 255,58,2,255,66,56,2,
255,62, 24, 58. 10, 255, 62, 2, 56
1813 DATA il, 255, 79, 6, 255-16,
135,135,135, 79,6, 8,33, 128,61,9
1814 DATA 58,16,255,95,62,64,
87. 6, 8, 126,18,35, 28, 5, 32, 249
iei5 DATA 56,16,255.66,58,18,
255, 58, 11,255,68. 254,18, 48, 2,24
1816 DATA 266,195,74,6,8,8,8,
0,10,0,0,10,0,0,0,0
3600 RESTORE io60: FOR i=l TO
272: READ a: POKE 65019+i,a:
NEXT i
3005 INPUT 'time? hhmmss "s LINE
tS: POKE 65281,8: POKE 65262, UAL
t*<l>: POKE 65283, UAL t*<2> _
3816 POKE 65285, UAL t*<3>: POKE
65286, UAL t$<4>
3626 POKE 65288, UAL t*C5> : POKE
65289, UAL t$<6>
3838 RANDOMIZE USR 65020: STOP :
REM clock starts _
4666 RANDOMIZE USR 65077: STOP :
REM clock stops
9668 RANDOMIZE USR 100: SRUE
SAMPLE CLOCK UITH 0HNIBUS:
SEP 11991
< M i S C
MR IN MENU
'17 : 26 : 05
Disk;
/Dates B> HELLO! Boot
D >
F>DisK Index
H > HELP ! ! !
j>Tasort
L >Ue r i f y Disk
N > M5 -So r t
p
> SetEH i n t e r
>CRT CyNaSo
K >5pace Li nes
M>BEB3B3D
o >Boo t s e iDr v
Q>FULL CRT R
S >Ban k Rccts T
U>Budget U
U>B/U Omnibus X
Y > Ed i t Menu Z
PRNTR SET > PICR
OMNIBUS V2.17
PD ON LL=64 LM =0
PRO /FILE
>
> Index LP
>Save Rutost
LF
NS=OFF
on (93BB!
SINC-LINK
Service Charges for SINCLAIR/TIMEX Computers Revised May 1. 1991
Prices do not include shipping and handling charges.
Shipping charges will vary depending upon weight, distance and method.
I will ship via the cheapest method unless you specify otherwise.
The minimum handling charge for shipping is $2 . 00 .
There may also be a surcharge for repairing modified equipment.
The minimum surcharge is $5 . 00 .
Definition of modified equipment: Any Circuitry changes on the inside of
the equipment case that involved the addition of components, wires,
integrated circuits, or hardware. Customers who send in computer equipment
that has had modifications done to it, which change the manufacturer's
original design, are subject to paying a surcharge.
1 . The following items will be repaired for $5.00 each + parts & shipping:
TS-1000 ZX-81 16k Ram Pack Any MEIiOTECH Module ZEBRA TALKER
MIRACLE Centronics
2 . The following items will be repaired for $10.00 each + parts & shipping:
TS-1500 TS-2020 TS-2050 PC-8300 ZX-80 Any BYTE-BACK Module
TS-2040 Z-SIO AERCO 2068 Centronics
3 . The following items will be repaired for $15.00 each + parts & shipping:
TS-2068 SPECTRUM A&J Microdrive LARKEN 2068 FDI CUMANA FDI
LARKEN 1000 FDI CST FDI
MIRACLE 512K
4 . The following items will be repaired for $20.00 each ± parts & shipping:
ROTRONICS Wafadrive
5 . The following items will be repaired for $25.00 each + parts & shipping:
SINCLAIR QL AERCO 1000 Centronics AERCO 2068 FDI
TRUMP CARD ZEBRA 2068 FDD System AERCO 1000 FDI
For repairing add-on modules, printers, monitors, or other computerized
equipment not listed above - write for a price quote for the items you
want repaired. I also service ATARI . COMMODORE. COLECO. TI . OSBORNE. TRS-80.
and IBM compatibles.
For modifying or upgrading any computer or add-on module - write for a
price quote.
Customers can expect a 4-6 week turnaround on most repair jobs.
Upgraaes and problem cases may take longer.
You will be notified of any unusual delays or excessive repair costs.
(over)
SINC-LINK
instructions for sending in computer equipment:
1. For repairs, please use a separate sheet of paper to describe in detail
the problem you are encountering, and whether or not the problem is
intermittent. List any software or hardware that are associated with the
problem. Also list any modifications that have been done to your equipment.
2. For upgrades, please enclose or specify the magazine article or other
source of information for doing each upgrade.
3. You may include a check or money order as a deposit for repair costs.
You will be notified if a balance is due. Over amounts will be refunded.
4. Carefully pack and ship your equipment to the address below via UPS or
parcel post. UPS is sometimes cheaper, especially with heavy items.
DAN ELLIOTT
RT 1, BOX 117
CABOOL, MO 65689
Phone (417) 469-^571 everyday 3:00 AM till 8:00 PM Central time.
If there is no answer, try another time. I'm busy building a log house and
can't always hear the phone. Please do not call after 8:00 PM Central time.
VISA / MASTERCARD accepted with 4% surcharge.
(Charge customers must provide Acct. #, expiration date, and name on card.)
Put some punch in your
PRINT FACTORY© graphics!!
Collection* 1 Collection#2 Collection* 3
Miscellaneous Animals Digitized Misc.
Men/Boys Funny Female Faces
Women/Girls Transportation Male Faces
Digitized Misc. Sports Funny
Computers Animals
Holidays Zodiac Signs
Food Holidays
Xmas Transportation
Xmas
Over J SO different large & s"matl 1
$12.95 ppd each, $1 9.95 ppd for two, or
all three collections for $26.95 ppd.
[Check or money order only.]
Available on tape or 5 1/4 " DSDD LAHKEN
or OLIGER disk - please specify.
Send order to i
John McMichael, 1710 Palmer Dr,
Laramie, WY 82070
SINC-LINK 29
QL OVERSEAS LETTER
The, 4 ottoutng teJJ^CA. wcu> n,e,ceA,veA n,e,cejxtJLy t and *U> dUU>pZayeA heste, Ion, the,
tn4 onjnat^Lon and eAt4> tcatLon, aJUL memb esiA> .
The, n,e,ceX,pt, o4 thL6 Ze^ttesi, itiouJLd be, an tnd-LccuLLon, , to me, cut SLojju>t, that.
oilsl noM)4>Zej^tesL , on, AomeXhLng , o£ the, Toronto Ttmex.- StncJLatsi, \l*esu> Ctu,b -L6
n,exLching ion, beyond oan, own -6ho-n,o^6 and -La beXng n,e,co gn-Lbed a4> a
pn.o gn,eA4>t.v e, and tntesi,e*i>tAJig on,gant^atA,on.
\ln^ onAiLnat,eJiy tt, may not be, po^i,-6t.b-te, to mahe, an tntest- chang e, o£
H<Lta<i>LQjttQsu> uonh, ouJ-Lng t,o the, Zanguuage, ptob-tejn . I have, a coapJLe, pn,ognxu7u6
which I cannot LU>e, a4> they an,e, tn Gesunan on, Vmtch on, -home, JLangaage, tn
which I am tgnonjuxt,.
Su.gge^>ttoru> welcome,.
Hagh H. How-cc
Sinclair QL Us e> ir C lub e . V .
FOREIGN
CONTACT
SECTION
Abs: SQLUC-FCS, Talstra&e 21, D-5460 Ockenfels
SINC-LINK
586 Oneida Drive
L7T 3V3 Burlington, ONT
Kanada
Franz Herrmann
TalstraiSe 21
W-5460 Ockenfels
Germany / West
8/7/91
Dear Hugh Howie,
I was reported that your group is supporting the Sinclair QL
as our group does. We would like to establish contacts with
you, exchanging newsletters, news, freeware etc.
Secondly, please ask your members who are active in communi-
cations to log into the GEnie net. The INTL.QL group from
Holland, Britain, Sweden, Austria and Germany is echoed via
this net to the states. w
Thank you ,
Franz Herrmann
Sinclair QL User Club e.V.
— Foreign Contact Secretary -
SINC-LINK
July /Aug 1991
August 12, 1991
Dear Out-of-town Members,
In my Mar/Apr 1991 OOT letter I
talked about printers <£ printer
interfaces and it's being somewhat of a
"black art". Well, in a way 1 still
think it is. But after working on the
Omnibus program, and trying to help a
couple of members with their printer
prob I ems, I have come to a greater
understand ing of the subject. What I
have learned that it is a "black art"
only to those who are uninitiated! I
have reached a point in my understand i ng
where I have started an article on the
subject, which I am sure will be
helpful. I plan to get it into the
newsletter an a couple of months. What
i would like to do is to send some draft
copies to members who would critique it,
and hopefully identify areas which are
still mystifying, i.e. where I've missed
the boat!
Certian/y I have learned a lot from
this ex per ience, and it would be a shame
not to get it to other members who have
a large printer and little
understand ing! !
All this has caused me to fall
behind a bit in my correspondence. Not
too much really, but if i have not
responded to your query / I etter , do drop
me a line and say so!!
We were not able to get our regular
meeting place for July and August, so we
cancel I ed the summer meetings. Last
night we held one at my place. I'm
afraid we're spoiled, and two months in
a row of no meetings is just too much.
Since I ment ioned that we had
refined the OMNIBUS disk, I have sent
copies to quite a number of members.
Now,^ we have continued to add a few
ref inements to it, and it may be that
theearlier recipients should consider
asking for a more recent vintage. One
item which has been added is an improved
Graphics 2U option. The earlier vintage
had^ a T imach i ne-comp i I ed routine to
print out a screen to a large printer.
One of our members, Steven Gunhouse, has
written a pure m/c routine to do the
job, and it prints out Oh, so much
faster. And it also allows you to print
partial screens. It is imbedded in the
LKDOS, and accessed with either the
NMl-F key, or with a RAND USR 100: DATA
0. There is also the capability of
placing it at any position across the
page.
On this topic I came across a Tasman
m/c routine that will do much the same
thing. Though in the case of the Tasman
code it prints a doubl e-s ize image.
Fast, though. And this one does not
require the Larken LKDOS. It is stored
in the printer buffer area. Called
"tasepson". Ask me about it, if you are
interested.
We've received a copy of a new
newsletter. It's called the FDD
Newsletter. It is devoted exclusive! y to
the Timex TOS system, the disk system
put out by Timex Portugal and sold by
some Timex dealers in the USA.
This was issue 2. It consists of two
sheets (3 pages of contents, plus a 11"
x 17" schematic of the Timex FDD3000
system. There's no ind icat ion of
newsl etter cost, nor is there an
editor's name on it. But I have an
address; here it is:
FDD Newsl etter
1271* U9th Street, #821
Brooklyn, NY 11219-3011
in I send you a copy of it, if any
of you FDD owners write me!
There is also another newsl etter
coming out. I may have mentioned it in
my last letter. It is called the
International QL Report. It is published
by SeaCoast Services, with Robert Dyl,
Sr., the Editor.
Their address is:
IQLR
15 K i I bourne Court,
Newport, Rl 028H0
It consists of 6 sheets (8 pages of
good stuff, a 2-page quest ionna ire, a
subscr ipt ion form page, and a cover
page. It looks pretty authorat ive, and
impress ive. I'm looking at the Inaugural
Issue. To be published 4-6 times a year.
Subscr ipt ion rate is $3 per issue; $10
US per year in US and CANADA. They offer
to send a free issue if they get the
name/address of a QL user. I shall send -
in names of all the QL members that I
have a record of, so you might hold off
for a while to see if you get a copy
from them.
I have been looking through the
current issue of the newsl etter. There
are two articles by Bob Mitchell on a
2068 toolkit program. This program can
be found on the club library tape #28,
and also on the two Larken library
disks, #'s L-02 and L-33. Try this
utility. It is a good one for programmer
types, use it all the time.
On Larken library disk #33 Omnibus
with Pul l-down menus J have been doing
some rev is ions to it. Adding the same
features as I earlier applied to the
Disk #L-02, That is I made it easier to
custom ise it to your Larken system. It
is on a single DSDD 5 1 / 1* inch disk. Ask
for it if you would like to see
pull-down menus in operat ion. Doing this
make me look closely at the Basic
programming for the window pul l-down
mechan ism.
I found it quite enchant ing in it's
elegance and simplicity. The code does
it so well, that the Basic programming
to make it do what you want, is very
simple. I think it deserves better
treatment in a news I etter article. Maybe
I'll do just that. But the code is too
lengthy to put in the newsletter. I'll
see that it is in the tape I ibrary, and
on a disk. Ask for it, in ant ic i pat ion
of getting models of the Basic
programming to drive it, in the next
issue of the news! etter.
Kristien Bo isvert has added several
utilities to the BytePower Disk Utility
Software ( DUS ) suite of programs (Disk
#32 in our Larken library), and has
compl eted the instruct ion manual. There
are about 6 new utilities. This
BytePower suite is in the public domain.
The updated version U.O replaces the
original version in our library. Ask for
it.
We have added a suite of 4
d i sassembl er programs written by Ken
Shoenberger, to Disk #17
( Assmb I ers/ D i sassembl ers ). I have
exper imented only a bit with them. We
shall have to get a review of them for
a news I etter article. Ask for this disk,
al so.
Ask for it. That's the name of the
game. I have so much resource material
around that I cannot possibly list it
all. If you need something, ask whether
I have it , or can find it. Chances are
that I may be able to do so. But if you
don't aks, you'll never know!
Some of you have asked for an
updating of what is in the Larken
Library. I think I'll have to start a
series of articles for the news I etter ,
covering just what is in the library.
But for the moment I'll just mention
that while the catalogue lists UO disks,
we have several more in the library.
There is Disk #U1 , Bob Swoger's LOGICALL
(A disk management system); Disk #U-2, a
Tasword utilities suite by Larry
Crawford; Disk #U3, a unique 2068
ut i I it ies suite by Bill Pederson; and
Disk #44, a Graphics and Screen Copy
Utilities suite for the 2U—pin printer
by Larry Crawford. And there will be
more forthcoming this fall.
If
Sorry, earlier when I was ment ion ing
new newsletter, I failed to mention the
new T/SNUG newsletter, "ZXir Ql ive
Alive". I ment ioned it in the last
news I etter . We've received a second
issue, and it looks good. The
subscr ipt ion for it is $15/ year for
clubs, and $12/ year for individual
member sh ips. Think I've got that right*
The Editor is Donald Lambert. His
address is:
Don Lambert
1301 K ibl inger Place
Auburn, IN 46706
His phone number is (219) 925 1372.
Give him a cai I .
Don is working with Bob Swoger to get
this off the ground. TTSUC is sending in
our club subscr ipt ion. We encourage you
to consider ind iv idual subscr ipt ions J
Sorry to report that Renato Zannese,
one of our I ongstand ing members has
moved on to the "other mach ines" world.
We wish him well, even though at the
same time I'm sorry to see him leave.
Ranato was our TS2068 tape I ibrar ian.
" j
Oddly enough, our tape library is
pretty quite these days. Don't know what
it is. Maybe the more
energet ic/enthus iast ic members have gone
to disk. There's a bit of pity to that,
though. There's a lot of good stuff on
tape, that will probably never make it
to disk. I know that I have not perused
all the programs on tape. There was a
time when it came pouring in in such
quantity that I was only able to get it
onto tape; never enough time to see what
it was.
That's about all for this letter.
I've really run dry.
S incerel y
George Chambers